課程名稱 |
資料結構與演算法實務 Practical Data Structures and Algorithms |
開課學期 |
110-1 |
授課對象 |
生物資源暨農學院 生物機電工程學系 |
授課教師 |
陳倩瑜 |
課號 |
BME5010 |
課程識別碼 |
631 U1260 |
班次 |
|
學分 |
3.0 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期一7,8,9(14:20~17:20) |
上課地點 |
知武會議室 |
備註 |
上課地點:知401。 總人數上限:80人 |
|
|
課程簡介影片 |
|
核心能力關聯 |
本課程尚未建立核心能力關連 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
此一課程在於介紹多種常用之資料結構與相關演算法,增進修課學生的程式設計能力,以期未來能在不同領域實際應用。
每週課程計畫進度:
Chapter 1: Fundamentals introduces a scientific and engineering basis for comparing algorithms and making predictions. It also includes our programming model.
Chapter 2: Sorting considers several classic sorting algorithms, including insertion sort, mergesort, and quicksort. It also includes a binary heap implementation of a priority queue.
Chapter 3: Searching describes several classic symbol table implementations, including binary search trees, red-black trees, and hash tables.
Chapter 4: Graphs surveys the most important graph processing problems, including depth-first search, breadth-first search, minimum spanning trees, and shortest paths.
Chapter 5: Strings investigates specialized algorithms for string processing, including radix sorting, substring search, tries, regular expressions, and data compression.
Chapter 6: Context highlights connections to systems programming, scientific computing, commercial applications, operations research, and intractability. |
課程目標 |
本課程將搭配JAVA程式編輯,介紹多種可使用的資料結構,引領學生了解現有演算法,解決實際問題。 |
課程要求 |
修過至少一種基本程式設計課程(any language is fine, ext. C, C++, Java, Perl, ...) |
預期每週課後學習時數 |
|
Office Hours |
|
指定閱讀 |
|
參考書目 |
1. Bundle of Algorithms in Java, Third Edition, Parts 1-5: Fundamentals, Data
Structures, Sorting, Searching, and Graph Algorithms (3rd Edition) (Pts. 1-5)
2. Sanjoy Dasgupta, Christos H. Papadimitriou, and Umesh Vazirani, Algorithms,
McGraw-Hill, 2006. (http://beust.com/algorithms.pdf) |
評量方式 (僅供參考) |
|
|